package model;

/**
 * @ClassName: SingletonSyn2
 * @Author: liugui
 * @Date: 2020-04-08 22:38
 **/
public class SingletonSyn2 {

    private static SingletonSyn2 instance;

    //双重校验锁机制的同步锁单例模式
    // 在单例对象未实例化的情况下：
    // 在synchronized 代码块前添加附加条件 移动线程安全锁
    public static synchronized SingletonSyn2 getInstance() {
        if (instance == null) {
            synchronized (SingletonSyn2.class) {
                if (instance == null) {
                    instance = new SingletonSyn2();
                }
            }
        }
        return instance;
    }

}
